package com.atguigu.lease.common.minio;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/*
    非springboot: 1. 加载外部的properties配置文件 @PropertySource 2.使用@Value注解单独读取
    springboot:   1. 直接application编写配置文件 不用加载 2. 使用@Value注解或者@ConfigurationProperties(prefix="minio")
    SpringBoot可以用非SpringBoot方式,但不推荐
*/
//方式2: 用ConfigurationProperties注解声明参数前缀,且属性名要和参数名一致才能映射上
@ConfigurationProperties(prefix = "minio")
@Data
//@Component//可以不加这个注解(饿汉),在使用类上添加EnableConfigurationProperties注解(懒汉)
public class MinioProperties {;

    //方式1: 为每个属性都加上@Value注解,声明参数key
    //@Value("${minio.endpoint}")
    private String endpoint;
    private String accessKey;
    private String secretKey;
    private String bucketName;

}
